Skip to content

fix(kona): remove obsolete replacement deposit tx from consolidation#19894

Merged
ajsutton merged 2 commits intodevelopfrom
aj/fix/kona-remove-replacement-deposit-tx
Apr 2, 2026
Merged

fix(kona): remove obsolete replacement deposit tx from consolidation#19894
ajsutton merged 2 commits intodevelopfrom
aj/fix/kona-remove-replacement-deposit-tx

Conversation

@ajsutton
Copy link
Copy Markdown
Contributor

@ajsutton ajsutton commented Apr 2, 2026

Summary

Context

The interop spec no longer includes an additional replacement deposit tx in deposit-only blocks. The supernode already builds replacement blocks with only the original deposit transactions (the L1Info tx), but Kona was still appending an extra deposit tx encoding the original block's output root via craft_replacement_transaction.

This caused a state root mismatch between the supernode's replacement block (1 tx, gas_used ~54k) and Kona's (2 txs, gas_used ~80k), which cascaded into different output roots and a different super root — failing the Consolidate-ReplaceInvalidBlock-fpp subtest.

Removing the extra tx also resolves the Rlp(InputTooShort) error that occurred during the second consolidation pass — with only deposit txs in the replacement block, the message graph derivation finds no executing messages and succeeds cleanly, so #19890 is not required.

Dependencies

The test (TestInteropFaultProofs_InvalidBlock) requires:

The L2Transactions hint fix (#19850) is already merged to develop. The test remains skipped until #19880 is merged.

Closes #19411

Test plan

🤖 Generated with Claude Code

@ajsutton ajsutton marked this pull request as ready for review April 2, 2026 07:26
@ajsutton ajsutton requested a review from a team as a code owner April 2, 2026 07:26
@ajsutton ajsutton force-pushed the aj/fix/kona-remove-replacement-deposit-tx branch 2 times, most recently from d81b408 to 1879f68 Compare April 2, 2026 07:47
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 2, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 75.9%. Comparing base (58320f5) to head (2bec720).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
...na/crates/proof/proof-interop/src/consolidation.rs 0.0% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #19894      +/-   ##
===========================================
+ Coverage     75.6%    75.9%    +0.3%     
===========================================
  Files          195      489     +294     
  Lines        11348    61792   +50444     
===========================================
+ Hits          8581    46955   +38374     
- Misses        2623    14837   +12214     
+ Partials       144        0     -144     
Flag Coverage Δ
cannon-go-tests-64 ?
contracts-bedrock-tests ?
unit 75.9% <0.0%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...na/crates/proof/proof-interop/src/consolidation.rs 0.0% <0.0%> (ø)

... and 683 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

ajsutton and others added 2 commits April 2, 2026 20:58
The interop spec no longer includes an "optimistic block deposited
transaction" in deposit-only replacement blocks. The supernode already
builds replacement blocks with only the original deposit transactions
(L1Info tx), but Kona was still appending an additional replacement
deposit tx encoding the original block's output root.

This caused a state root mismatch between the supernode's replacement
block and Kona's, making TestInteropFaultProofs_InvalidBlock fail.

Remove the craft_replacement_transaction call and dead code, and
unskip the test.

Closes #19411

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The test requires #19890 (skip re-validating deposit-only blocks)
and the L2Transactions hint fix from develop to pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ajsutton ajsutton force-pushed the aj/fix/kona-remove-replacement-deposit-tx branch from 1879f68 to 2bec720 Compare April 2, 2026 21:00
@ajsutton ajsutton added this pull request to the merge queue Apr 2, 2026
Merged via the queue into develop with commit 1188160 Apr 2, 2026
168 checks passed
@ajsutton ajsutton deleted the aj/fix/kona-remove-replacement-deposit-tx branch April 2, 2026 21:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(op-reth): implement interop tx pool filter and reorg eviction

4 participants